using System;

namespace MetaObjects.Contracts
{
	public interface IMapperProvider
	{
		IMetaEntity Source { get; }
		IMetaEntity Target { get; }
		IMapper<TSource, TTarget> CreateMapper<TSource, TTarget>();
		IMapper<TSource, TTarget> CreateMapper<TSource, TTarget>(Func<TTarget> targetFactory);
	}
}